#include <REGX52.H>
unsigned char NIXIE_table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void Delay2ms()		//@12.000MHz
{
	unsigned char i, j;

	i = 4;
	j = 225;
	do
	{
		while (--j);
	} while (--i);
}


void NIXIE(unsigned char location,unsigned char number)
{
	switch(location)
	{
		case 8: P2_2=0,P2_3=0,P2_4=0;break;
		case 7: P2_2=1,P2_3=0,P2_4=0;break;
		case 6: P2_2=0,P2_3=1,P2_4=0;break;
		case 5: P2_2=1,P2_3=1,P2_4=0;break;
		case 4: P2_2=0,P2_3=0,P2_4=1;break;
		case 3: P2_2=1,P2_3=0,P2_4=1;break;
		case 2: P2_2=0,P2_3=1,P2_4=1;break;
		case 1: P2_2=1,P2_3=1,P2_4=1;break;	
	}
	P0=NIXIE_table[number];
	Delay2ms();
	P0=0;
}
void main()
{
	
	while(1){
	NIXIE(1,1);
	NIXIE(2,9);
	NIXIE(3,9);
	NIXIE(4,6);		
}
}

